package Interfaz;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

import models.Empleados;
import models.Roles;

public class FinanzasWindow extends JFrame {

	/**
	 * 
	 */
	private static final long serialVersionUID = -3725097043819829919L;

	
	
	JPanel panel;
	
	JLabel actionBar;
	JLabel nombreUsuario;
	JLabel marcoUser;
	
	
	JButton ventasBtn, ofertasBtn;
	
	JLabel ventasText, ofertasText;
	
	Empleados empleado;
	
	public FinanzasWindow (Empleados empleado){
		
		this.empleado = empleado;
		
		initJFrameComponentsFinanzas();
		addListenersFinanzas();
	}
	
	public void initJFrameComponentsFinanzas(){
		
		panel = new JPanel();
		
		actionBar = new JLabel();
		nombreUsuario = new JLabel(empleado.getNombre() + " "+empleado.getApellido1());
		marcoUser = new JLabel();
		
		ventasBtn = new JButton();
		
		ventasText = new JLabel("Ventas", JLabel.CENTER);
		
		this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
		
		actionBar.setBackground(Color.BLACK);
		actionBar.setForeground(Color.BLACK);
		actionBar.setBounds(0, 0, 800, 32);
		actionBar.setOpaque(true);
		
		marcoUser.setBackground(new Color(0xEEEEEE));
		marcoUser.setForeground(new Color(0xEEEEEE));
		marcoUser.setBounds(32, 10, 98, 98);
		marcoUser.setOpaque(true);
		
		nombreUsuario.setBounds(150, 3, 256, 25);
		nombreUsuario.setForeground(Color.WHITE);
		nombreUsuario.setFont(new Font("Serif", Font.BOLD, 18));
		//Colocar el boton de ofertas
		ofertasText = new JLabel("Ofertas");
		ofertasBtn = new JButton(new ImageIcon(getClass().getResource("raw/ofertas.png")));
		ofertasBtn.setForeground(Color.BLACK);
		ofertasBtn.setBackground(Color.WHITE);
		ofertasBtn.setBorder(null);
		ofertasBtn.setBounds(550,200,128,128);
		ofertasText.setBounds(590, 334, 128, 20);
		ofertasBtn.setEnabled(true);
		this.add(ofertasBtn);
		this.add(ofertasText);
		ofertasBtn.addActionListener(new ActionListener() {
			
			public void actionPerformed(ActionEvent arg0) {
				// TODO Auto-generated method stub
				new OfertasWindow(empleado);
			}
		});
		//Colocar el boton de ofertas END//
		setSecurityLevel(empleado.getRoles());
		
		this.add(nombreUsuario);
		this.add(marcoUser);
		this.add(actionBar);
		
		Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
		this.setBounds(((d.width/2)-400), ((d.height/2)-300), 800, 600);
		panel.setBackground(Color.WHITE);
		this.setTitle("MyBolos ERP  ->  " + empleado.getNombre() +" " + empleado.getApellido1());
		this.add(panel);
		this.setBackground(Color.WHITE);
		this.setVisible(true);
		this.setResizable(false);
		
		
	}
	
	public void setSecurityLevel(Roles roles){
		
		addVentasBtn(roles.getPFinanzas());
	}
	
	public void addVentasBtn(byte b){
		
		ventasBtn.setForeground(Color.BLACK);
		ventasBtn.setBackground(Color.WHITE);
		ventasBtn.setBorder(null);
		ventasBtn.setIcon(new ImageIcon(getClass().getResource("raw/ventas.png")));
		ventasBtn.setBounds(125,200,128,128);
		ventasText.setBounds(125, 334, 128, 20);
		ventasBtn.setEnabled(false);
		
		
		if(b == 1) ventasBtn.setEnabled(true);
		
		this.add(ventasBtn);
		this.add(ventasText);
		
	}
	
	public void addListenersFinanzas(){
		
		ventasBtn.addActionListener(new ActionListener(){
			
			public void actionPerformed(ActionEvent v){
				VentasWindow ventasWindow = new VentasWindow(empleado);
			}
		});
	}
	
	
}
